Various forms of network storage systems are known today. These forms include network attached storage (NAS), storage area networks (SANs), and others. Network storage systems are commonly used for a variety of purposes, such as providing multiple users with access to shared data, backing up critical data (e.g., by data mirroring), etc.
A network storage system may include at least one storage server, which is a processing system configured to store and retrieve data on behalf of one or more storage clients (“clients”). In the context of NAS, a storage server may be a file server, sometimes called a “filer”. A filer operates on behalf of one or more clients to store and manage shared files in a set of mass storage devices, such as magnetic or optical disks or tapes. The mass storage devices may be organized into one or more volumes of a Redundant Array of Inexpensive Disks (RAID). Filers are made by Network Appliance, Inc. of Sunnyvale, Calif.
In a SAN context, the storage server provides clients with block-level access to stored data, rather than file-level access. Some storage servers are capable of providing clients with both file-level access and block-level access, such as certain Filers made by Network Appliance, Inc.
Storage servers require resource data for storage and management functions. One example of storage server resource data is configuration data, such as setup data required by a storage server for server configuration. Other examples include file system access control lists, registry settings, event log, audit policies, security, Network File System (NFS) enable option, user home directory settings, session timeout settings, quota setup information, and so on.
In the case of a system having a single storage server, storage and management of the resource data can be handled easily. One such method is to provide localized storage of the storage server's configuration data. Accordingly, each time a storage server requires resource data, such as setup data, it queries a local resource data repository for configuration data. This method provides quick and easy access to the configuration data. Furthermore, the resource data can be updated rather easily, for instance, by an administrator.
However, a business enterprise or other organization that manages large volumes of data may operate multiple storage servers concurrently. These storage servers may be connected to each other through one or more networks. The storage servers and other network components may be managed by one or more network administrators (also called “administrative users” or simply “administrators”), who are responsible for configuring, provisioning and monitoring the storage servers, scheduling backups, troubleshooting problems with the storage servers, performing software upgrades, etc. Administrators can accomplish these management tasks using a separate management console on the network, which is a computer system that runs storage management software application specifically designed to manage a distributed storage infrastructure.
Localized storage of server configuration data is often not desirable in a multiple storage server system. Localized storage of server configuration data often requires that the same data be stored by several storage servers. This requires considerable time and effort not only to input and save the data, but also to update stored data. Often, an administrator must manually change the stored data value on each storage server. Redundant storage of server configuration data also means that storage space is being utilized inefficiently. Furthermore, another disadvantage of localized storage of server configuration data is that it leads to decreased security. For instance, if an administrator must manually delete a user who is no longer authorized from each storage server, then there is a chance that the unwanted user can obtain access to data stored by storage servers from which the user has not been removed.
Another option for storage and management of server configuration data is a Group Policy Object (GPO). In the Windows 2000 operating system, a GPO defines server settings such as registry-based polices, security options, software installation and maintenance options, scripts options, and folder redirection options. In the GPO system, an ACTIVE DIRECTORY® (a trademark of the Microsoft Corporation) service may be used to determine the location of domain/clients resources, such as file system access control lists, registry settings, event log, audit, IP security, and so on. The data associated with these domain/clients resources is however, stored on one or more other files of varying formats on servers known as domain controllers (DC). Such distributed method of storing resource data is disadvantageous in that it often results in redundant data being stored. Furthermore, the files containing the resource data can be accessed only by Common Internet File System (CIFS) clients. Also, if an administrator changes GPO definitions, the clients do not get the updates in a prompt manner since the ACTIVE DIRECTORY® passively waits for clients to communicate with the ACTIVE DIRECTORY® to find out what has been updated and there is no proactive way to notify the clients of updates.
It is desirable, therefore, to provide a solution to the afore-mentioned problems.